終於來到了最後一天,來總結一下這一個月來所涵蓋的主題。
了解多種部署策略:透過 Recreate、Rolling Update、Blue/Green、Canary 等部署方式,減少軟體發佈的風險。
如何實踐部署策略於 Kubernetes:使用 Ingress NGINX Controller、Argo Rollouts 等組件輕鬆的在 Kubernetes 作為實現漸進式部署(Progressive Delivery)的解決方案。
圖檔來自:Argo Rollouts progressive delivery with Canary deployment
Feature Toggle:透過 Flipt 實現 Feature Toggle 使用更低成本、更小維度的方式實踐 漸進式部署(Progressive Delivery)或 A/B Testing。
圖檔來自 Feature Toggle Makes Development Faster and Safer @ TECHPULSE 2023
在這個月的學習過程中,讀者應該已經注意到,我們討論的主題不僅涉及到開發者(Developer)的技能,還包括許多維運人員(Operator)日常關注的知識與工具。這正是 DevOps 文化的核心精神——打破開發與運維之間的隔閡,讓團隊共同負責應用服務的 可靠性(Reliability)、擴展性(Scalability)、可維護性(Maintainability) 和 安全性(Security)。
DevOps 強調跨團隊協作,通過自動化工具和流程統一管理應用的開發、部署和運維,實現更快速、可靠的軟體交付。透過這種文化,開發者和運維人員能夠共同掌握應用的全生命周期,從開發測試到生產環境的管理,讓軟體應用有更好的品質。
在這個 AI 崛起的時代,除了 Copilot 這類 AI 協作軟體開發工具,也許能嘗試讓 AI 技術來協助我們 Kubernetes 的應用,如 K8sGPT 等工具,讓 生成式 AI 協助我們進行錯誤診斷 與 問題排查,來更輕鬆的使用/管理 Kubernetes。
隨著微服務架構的普及,Kubernetes Cluster 中通常會運行大量微服務,甚至有多 Cluster 之間需要互相溝通,這使得開發/管理越來越複雜。透過 Istio 這類 Service Mash 的解決方案,能避免對應用程序做侵入式的改動,透過 eBPF 或 Sidercar 來管理/控制網路流量。
Kubernetes 也能透過 Knative 這樣的工具實現 Serverless,提供統一的部署方式,讓開發者專注在商業邏輯,減少對底層的知識門檻。
Serverless 基於 Http/Event 的擴展能力,也能應用在購物網站這類流量波鋒特別大的服務,搭配具有快速啟動的應用程序(如 Golang 或 native-image),即能降低冷啟動的延遲問題。
感謝各位的閱讀,以上就是今年鐵人賽的分享,希望能讓大家理解 Kubernetes 的運作原理 與 更多應用方式,透過這些知識讓 Kubernetes 與 應用程序 產生更深度的協作,提供夠穩定、可靠的服務。
感謝各位的閱讀,透過今年的鐵人賽分享,希望有讓大家對 Kubernetes 的運作原理有了更深入的理解,並學到了更多應用的實踐方式。希望這些知識能幫助大家在工作中與 Kubernetes 建立更緊密的協作關係,打造出穩定、可靠且高效的應用服務。
Announcing Hubble - Network, Service & Security Observability for Kubernetes
Feature Toggle Makes Development Faster and Safer @ TECHPULSE 2023